package com.ruantu.clothing.service;

import com.ruantu.clothing.entity.*;
import com.ruantu.clothing.entity.combobox.RukuTuiCombobox;
import com.ruantu.clothing.util.MyException;

import java.util.List;
import java.util.Map;

/**
 * Created by Administrator on 2018/6/22 0022.
 */
public interface RukuService {
    /**
     * 查询所有入库单
     *
     * @param ruku
     * @param pageBean
     * @return
     */
    List<Ruku> findRukuList(Ruku ruku, PageBean pageBean);

    /**
     * 根据rukuid查询详细信息
     *
     * @param rukuson
     * @return
     */
    List<Rukuson> findRukuListSonById(Rukuson rukuson, Integer fenlei);

    /**
     * 提交入库单
     *
     * @param ruku
     * @return
     */
    int commitRukudan(Ruku ruku);

    /**
     * 查询一个裁剪单已入库数量
     *
     * @param id
     * @return
     */
    List<MyEntity> findTailorRuku(String id);

    /**
     * 保存入库单
     *
     * @param ruku
     * @param rukus
     * @return
     */
    int saveRuku(String ruku, Ruku rukus);

    /**
     * 入库入库单
     *
     * @param ruku
     * @return
     */
    int addRuku(Ruku ruku);

    /**
     * 删除入库单
     *
     * @param ruku
     * @return
     */
    int delRuku(Ruku ruku);

    /**
     * 驳回入库单
     *
     * @param ruku
     * @return
     */
    int bohui(Ruku ruku);

    /**
     * 根据入库单id查询详细信息进行反显
     *
     * @param ruku
     * @return
     */
    List<Rukuson> findRukuByRukuId(Ruku ruku);

    /**
     * 查询所有入库单退货combobox
     *
     * @param riku
     * @return
     */
    List<Ruku> findRukuDan(Ruku riku, String q);

    /**
     * 根据rukuid查询该入库单款号信息
     *
     * @param ruku
     * @return
     */
    List<RukuTuiCombobox> findProductByRukuId(Ruku ruku);

    /**
     * 根据入库id和product查询详细信息
     *
     * @param ruku
     * @return
     */
    List<RukuTuiCombobox> findDetails(Ruku ruku);

    /**
     * 保存退货单
     *
     * @param ruku
     * @param rukus
     * @return
     */
    int saveTui(String ruku, Ruku rukus);

    /**
     * 根据入库单id查询详细信息进行反显
     *
     * @param ruku
     * @return
     */
    List<Rukuson> findRukuTuiByRukuId(Ruku ruku);

    /**
     * 出库退货单
     *
     * @return
     */
    int tuiHuo(Ruku ruku);

    /**
     * 撤销入库单
     *
     * @return
     */
    int restRuku(Ruku ruku);
}
